Equality for Prolog

نویسنده

  • William A. Kornfeld
چکیده

The language Prolog has been extended by allowing the in­ clusion of assertions about equality. When a unification of two terms that do not unify syntactically is attempted, an equality theorem may be used to prove the two terms equal. If it is possible to prove that the two terms are equal the unification succeeds with the variable bindings introduced by the equality proof. It is shown that this mechanism significantly improves the power of Prolog. Sophisticated data abstraction with all the advantages of object-oriented programming is available. Techniques for passing partially instantiated data are described that extends the "multi-use" capabilities of the language, improve the efficiency of some programs, and allow the implementation of arith­ metic relations that are both general and efficient. The modifications to standard Prolog are simple and straightfor­ ward and in addition the computational overhead for the extra linguistic power is not significant. Equality theorems will probably play an important role in future logic programming systems.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Comments on Kornfeld's Equality for Prolog: E-Unification as a Mechanism for Augmenting the Prolog Search Strategy

The search strategy of standard Prolog can lead to a situation in which a predicate has to be evaluated in circumstances where it has an infeasibly large number of instantiations. The work by Kornfeld [8] addressed this important problem by means of an extension of unification which allows Prolog to be augmented by what is essentially a (non-standard) equality theory. This paper uses the notion...

متن کامل

Imagining Clp(, )

We study under which conditions the domain of-terms () and the equality theory of the-calculus () form the basis of a usable constraint logic programming language (CLP). The conditions are that the equality theory must contain axiom , and the formula language must depart from Horn clauses and accept universal quantiications and implications in goals. In short, CLP(,) must be close to Prolog.

متن کامل

A Transformation Based on the Equality between Terms

We present a new transformation of Prolog programs preserving operational equivalence. Our transformation — EBC (equality based continuation) transformation — relies on the introduction of equations between terms. These equations are used to introduce alternative and more efficient representations of terms. When applied to binary Prolog programs, EBC is able to perform the following optimizatio...

متن کامل

Bousi~Prolog: a Prolog Extension Language for Flexible Query Answering

In this paper we present the main features an implementation details of a programming language that we call Bousi∼Prolog. It can be seen as an extension of Prolog able to deal with similarity-based fuzzy unification (“Bousi” is the Spanish acronym for “fuzzy unification by similarity”). The main goal is the implementation of a declarative programming language well suited for flexible query answ...

متن کامل

Tablog: Functional and Relational Programming in One Framework

Tablog12 is a logic programming ing languages, given their emphasis on A program in Tablog is a list of forlanguage that combines functional and using predicates to describe computamulas in quantifier-free, first-order relational programming into a unified tions. logic with equality and is usually more framework. It incorporates advanAn even broader definition of the natural than the correspond...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1983